package com.softao.ming.gde.core.model;

/**
 * Parsing the <code>gwt.plugin.xml</code>.
 */
public interface IBundleGwtPluginFile {
	/** The default value for HTML Version. */
	public static final String HTML_DEFAULT_VERSION = "";
	
	/** HTML 4.0.1 Strict model */
	public static final String HTML_401_STRICT = "HTML 4.01 Strict DTD";
	
	/** HTML 4.0.1 Transitional model. Recommended by GWT. */
	public static final String HTML_401_TRANSITIONAL = "HTML 4.01 Transitional DTD";
	
	/** HTML 4.0.1 Frameset model. */
	public static final String HTML_401_FRAMESET = "HTML 4.01 Frameset DTD";

	/**
	 * @return <code>true</code> if this bundle includes GWT client side code;
	 *         otherwise, <code>false</code>.
	 */
	public boolean hasClientCode();

	/**
	 * @return <code>true</code> if this bundle only includes GWT client code;
	 *         otherwise, it may contains server side code as well.
	 */
	public boolean isClientCodeOnly();
	
	/**
	 * The valid value includes:
	 * <ul>
	 * <li>{@link #HTML_DEFAULT_VERSION}</li>
	 * <li>{@link #HTML_401_STRICT}</li>
	 * <li>{@link #HTML_401_TRANSITIONAL}</li>
	 * <li>{@link #HTML_401_FRAMESET}</li>
	 * </ul>
	 * Currently, the recommended version is
	 * {@link #HTML_401_TRANSITIONAL}.
	 * 
	 * @return the HTML version of this bundle.
	 */
	public String getHtmlVersion();
}
